XBRL is an open data standard for financial reporting. XBRL allows information modeling and the expression of semantic meaning commonly required in business reporting. XBRL uses Extensible Markup Language (“XML”) syntax. XBRL is commonly used to define and exchange financial information, such as financial statements, corporate action filings, and the like.
In typical usage, XBRL consists of an instance document, containing primarily the business facts being reported, and one or more taxonomies, which capture definitions of individual reporting concepts, certain relationships between concepts, and other semantic meaning.
The current base XBRL specification is at version 2.1 and is fairly well understood by many software and accounting users. Use of the dimensional specification (XBRL Dimensions 1.0) is also fairly prevalent. Dimensions in XBRL are used to structure contextual information for business facts. Multiple dimensions may be defined in a taxonomy using structures called “hypercubes.” In many taxonomies, there are concepts with zero dimensions (literally or effectively attached to empty hypercubes). Furthermore, many dimensions have “default” values, which syntactically look like zero dimensions.
However, at the present time, virtually all XBRL users (software or accounting) envision XBRL dimensions fairly simplistically, consisting of multiple independent or unrelated hypercubes. Furthermore, when current XBRL users do understand that relationships exist between the hypercubes, those relationships are typically “hard-coded” in taxonomy-specific ways.
Analogizing the multi-dimensional XBRL model to a relational database model, the current state of the XBRL art uses hypercubes as if they were a set of disconnected tables, with no automatic methods for a computer to understand relationships such as foreign keys between them. Consequently, at the present time, software for creating and manipulating XBRL must generally be “hard-coded” for one particular taxonomy or application.